1. Technical Field
This invention relates to inter-process communication in a computer environment. One embodiment of the invention relates to the inter-process communication on a single computer environment.
2. Description of Prior Art
Inter-process communications (IPC) use various communication methods, for example, shared memory, pipe, message queue or semaphore, to enable interactions between different application processes within the same computer or among different computers in a computer network system. The inter-process communications among multiple applications on a single computer allows individual application processes running on the computer to work together cooperatively.
The existing cross-platform inter-process communication methods, such as those based on the Common Object Request Broker Architecture (CORBA), can be used for the inter-process communication between application processes running on different computers with different operating systems. For example, CORBA provides a set of common interfaces through which object-oriented software can communicate, regardless of the computer platform on which the object-oriented software is running. However, such cross-platform inter-process communication methods are too heavy-weight to be a good solution for application processes running on a single computer. Existing inter-process communication methods for application processes running on a single computer, such as Component Object Model (COM) from Microsoft, Inc., are operating system-dependent and are not compatible with other platforms. For example, it would be difficult to port a set of software programs based on Component Object Model (COM) running on operating systems provided by Microsoft, Inc. to other operating systems, such as UNIX or Mac OS, etc.
Therefore, it would be advantageous to provide a method of inter-process communication for processes running on a single computer so that software applications based on such a method can be easily implemented and ported to different computer platforms running different operating systems.